# 2025.05.02力扣网刷题
# 从两个数字数组里生成最小数字——数组、哈希表、枚举——简单
# 给你两个只包含 1 到 9 之间数字的数组 nums1 和 nums2 ，每个数组中的元素 互不相同 ，请你返回 最小 的数字，两个数组都 至少 包含这个数字的某个数位。
# 示例 1：
# 输入：nums1 = [4, 1, 3], nums2 = [5, 7]
# 输出：15
# 解释：数字 15 的数位 1 在 nums1 中出现，数位 5 在 nums2 中出现。15 是我们能得到的最小数字。
# 示例 2：
# 输入：nums1 = [3, 5, 2, 6], nums2 = [3, 1, 7]
# 输出：3
# 解释：数字 3 的数位 3 在两个数组中都出现了。
# 提示：
# 1 <= nums1.length, nums2.length <= 9
# 1 <= nums1[i], nums2[i] <= 9
# 每个数组中，元素 互不相同 。

class Solution(object):
    def minNumber(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: int
        """
        def Hash_Record(nums, hash):
            min_ = nums[0]
            for num in nums:
                if num < min_:
                    min_ = num
                hash[num] += 1
            return hash, min_
        hash = [0] * 10
        hash1, min1 = Hash_Record(nums1, hash)
        hash2, min2 = Hash_Record(nums2, hash)
        ans = -1
        for i in range(10):
            if hash[i] == 2:
                ans = i
                break
        if ans == -1:
            ans = min1 * 10 + min2 if min1 < min2 else min2 * 10 + min1
        return ans
